আসকি (American Standard Code for Information Interchange) হলো একটি ক্যারেক্টার এনকোডিং স্ট্যান্ডার্ড, যা কম্পিউটারে টেক্সট উপস্থাপন এবং যোগাযোগের জন্য ব্যবহৃত হয়। ASCII প্রথমবারের মতো ১৯৬৩ সালে চালু হয় এবং এটি মূলত ইংরেজি অক্ষর, সংখ্যা, এবং সাধারণ প্রতীকগুলিকে বাইনারি ফরম্যাটে এনকোড করতে সাহায্য করে, যা কম্পিউটার সহজে বুঝতে এবং প্রসেস করতে পারে।
ASCII-এর বৈশিষ্ট্যসমূহ:
১. ৭-বিট এনকোডিং:
ASCII মূলত ৭-বিট এনকোডিং স্ট্যান্ডার্ড, যা ১২৮টি ভিন্ন ক্যারেক্টার এনকোড করতে সক্ষম (০ থেকে ১২৭ পর্যন্ত)।
এতে ৩৩টি কন্ট্রোল ক্যারেক্টার (যেমন নিউ লাইন, ক্যারেজ রিটার্ন, ট্যাব) এবং ৯৫টি প্রিন্টেবল ক্যারেক্টার (যেমন সংখ্যা, বড় এবং ছোট হাতের ইংরেজি বর্ণমালা, এবং বিভিন্ন প্রতীক) অন্তর্ভুক্ত থাকে।
২. ৮-বিট এক্সটেন্ডেড ASCII:
পরবর্তীতে, ৮-বিট ASCII (যাকে এক্সটেন্ডেড ASCII বলা হয়) চালু করা হয়, যা মোট ২৫৬টি ক্যারেক্টার এনকোড করতে সক্ষম। এটি অন্যান্য ভাষার বিশেষ অক্ষর এবং গ্রাফিক সিম্বল অন্তর্ভুক্ত করার জন্য ব্যবহৃত হয়।
ASCII টেবিলের প্রধান বিভাগ:
১. কন্ট্রোল ক্যারেক্টার (০-৩১):
এই ক্যারেক্টারগুলো প্রিন্টেবল নয় এবং টেক্সটের ফরম্যাটিং বা ডেটা প্রসেসিংয়ের জন্য ব্যবহৃত হয়। যেমন:
NULL (0): কোনো মান নেই।
BEL (7): বীপ শব্দ তৈরি করে।
LF (10): লাইন ফিড, যা নতুন লাইন তৈরি করে।
২. স্পেস এবং প্রিন্টেবল ক্যারেক্টার (৩২-১২৭):
এই ক্যারেক্টারগুলোতে স্পেস, সংখ্যা (০-৯), বড় এবং ছোট হাতের ইংরেজি বর্ণমালা (A-Z, a-z), এবং বিভিন্ন প্রতীক (যেমন !, @, #, $, %, &, *, এবং আরও) অন্তর্ভুক্ত থাকে।
৩. এক্সটেন্ডেড ASCII (১২৮-২৫৫):
এই অংশে অন্যান্য ভাষার বিশেষ অক্ষর (যেমন ইউরোপীয় ভাষার বর্ণমালা), গ্রাফিক সিম্বল, এবং কিছু বিশেষ ফাংশন ক্যারেক্টার অন্তর্ভুক্ত থাকে।
ASCII-এর ব্যবহার:
১. টেক্সট ফাইল:
ASCII কোডের মাধ্যমে টেক্সট ফাইল তৈরি এবং সংরক্ষণ করা হয়। এটি সাধারণত .txt ফাইল হিসেবে পরিচিত।
২. প্রোটোকল এবং নেটওয়ার্কিং:
নেটওয়ার্ক প্রোটোকল, যেমন HTTP এবং FTP, ASCII কোড ব্যবহার করে ডেটা বিনিময় করে।
৩. প্রোগ্রামিং:
ASCII প্রোগ্রামিং ভাষা, যেমন C, Python, এবং অন্যান্য ভাষায় ব্যবহৃত হয়, যেখানে টেক্সট এবং স্ট্রিং ম্যানিপুলেশন করা হয়।
ASCII টেবিলের কিছু গুরুত্বপূর্ণ ক্যারেক্টার:
ASCII কোড
ক্যারেক্টার
বিবরণ
32
(Space)
স্পেস
48-57
0-9
সংখ্যা
65-90
A-Z
বড় হাতের বর্ণমালা
97-122
a-z
ছোট হাতের বর্ণমালা
10
LF
লাইন ফিড (নতুন লাইন)
13
CR
ক্যারেজ রিটার্ন
ASCII-এর গুরুত্ব:
ইন্টারঅপারেবিলিটি: ASCII একটি স্ট্যান্ডার্ড ফরম্যাট হওয়ায় এটি বিভিন্ন কম্পিউটার সিস্টেম এবং ডিভাইসের মধ্যে ডেটা বিনিময় করতে সহায়ক।
সহজ ব্যবহার: ASCII টেবিল সহজ এবং সবার জন্য বোঝার উপযোগী, যা প্রোগ্রামিং এবং ডেটা প্রসেসিং সহজ করে।
প্রাথমিক স্ট্যান্ডার্ড: ASCII আধুনিক ইউনিকোড স্ট্যান্ডার্ডের ভিত্তি হিসেবে কাজ করে, যা বিভিন্ন ভাষার অক্ষর এবং প্রতীকের জন্য ব্যবহৃত হয়।
ASCII-এর সীমাবদ্ধতা:
১. ভাষাগত সীমাবদ্ধতা:
ASCII মূলত ইংরেজি ভাষার জন্য ডিজাইন করা হয়েছিল, তাই এটি অন্যান্য ভাষার অক্ষর ও প্রতীক সাপোর্ট করতে পারে না। এক্সটেন্ডেড ASCII কিছু ভাষার সাপোর্ট দিলেও, এটি যথেষ্ট নয়।
২. অল্প ক্যারেক্টারের সমর্থন:
ASCII শুধুমাত্র ১২৮ বা সর্বাধিক ২৫৬টি ক্যারেক্টার সাপোর্ট করতে পারে, যা বর্তমান সময়ের বহুভাষিক এবং জটিল সিস্টেমের জন্য অপ্রতুল।
ইউনিকোডের দিকে যাত্রা:
ASCII-এর সীমাবদ্ধতা কাটিয়ে ওঠার জন্য ইউনিকোড চালু করা হয়, যা বিশ্বের বিভিন্ন ভাষার অক্ষর এবং প্রতীক সাপোর্ট করে। ইউনিকোডে লক্ষাধিক ক্যারেক্টার এনকোড করা সম্ভব, যা আধুনিক সফটওয়্যার এবং ইন্টারনেটের জন্য একটি কার্যকর সমাধান।
সারসংক্ষেপ: ASCII হলো একটি প্রাথমিক ক্যারেক্টার এনকোডিং সিস্টেম যা ইংরেজি ভাষার অক্ষর, সংখ্যা, এবং প্রতীক এনকোড করতে ব্যবহৃত হয়। যদিও এটি সীমাবদ্ধ, তবুও এটি কম্পিউটার বিজ্ঞান এবং ইন্টারনেটের ইতিহাসে একটি গুরুত্বপূর্ণ ভূমিকা পালন করেছে।